/*
 * ExternalSensor.h
 *
 *  Created on: Feb 2, 2009
 *      Author: Andrzej Olchawa
 *      mailto: andrzejolchawa@gmail.com
 *      http://www.hardtechnology.org
 *      This is a part of the Armazd project, which is covered by
 *      GNU GPL v2 license.
 */

#ifndef EXTERNALSENSOR_H_
#define EXTERNALSENSOR_H_

/* Include section */
#include <string>
#include <iostream>
#include "SensorMessage.h"
#include "SensorMessageUtils.h"
#include "SensorMessageDefinitions.h"

/* namespace declaration */
using namespace std;

/* ExternalSensor class definition */
class ExternalSensor
{

private:

	/* Variables related with sensor information */

	char *rawMessage;
	SensorMessage *sensorMessage;

public:

	/* Constructors and destructor */
	ExternalSensor();
	virtual ~ExternalSensor();

	virtual char *getRawMessage();
	virtual SensorMessage *getSensorMessage();
};

typedef ExternalSensor* externalCreate();
typedef void externalDestroy(ExternalSensor*);

#endif /* EXTERNALSENSOR_H_ */
